package com.rv.nats.resolver.param;

import io.nats.client.Message;

import java.lang.reflect.Parameter;

/**
 * @author sundez
 * @version 1.1.4.8
 * @since 2025/6/12
 *   参数解析器
 */
public interface ParameterResolver {


    /**
     * 判断当前解析器是否支持对parameter的解析
     * @param parameter 方法中反射的参数
     * @return 是否支持
     */
    boolean support(Parameter parameter);


    /**
     * 将message中的数据进行解析然后再返回
     * @param message {@link Message}
     * @param parameter {@link Parameter}
     * @return 解析后的数据
     */
    Object resolve(Message message, Parameter parameter);

}


